learn

tmux 기본 개념과 사용법

tmux 기본 개념과 사용법

왜 tmux를 쓰는가?

SSH로 서버에 접속해서 작업하다 보면 연결이 끊기면 실행 중인 프로세스도 같이 죽는다. tmux는 서버에서 세션을 독립적으로 유지해줘서, SSH 연결이 끊겨도 프로세스가 살아있다.

Windows (WSL/터미널) → SSH 접속 → 서버에서 tmux 실행

SSH 재접속 후 tmux attach 하면 끊기기 전 상태 그대로 돌아온다.

설치

sudo apt install tmux

세션 관리

tmux new -s 작업이름       # 새 세션 시작
tmux attach -t 작업이름    # 세션에 다시 붙기
tmux ls                    # 세션 목록 확인
tmux kill-session -t 이름  # 세션 종료

세션 내에서 나올 때:

Ctrl+B, D    # detach (세션은 살아있음)

window 관리 (세션 내 탭)

tmux 세션 하나에 여러 window를 탭처럼 띄울 수 있다.

Ctrl+B, C    # 새 window 생성
Ctrl+B, 0    # 0번 window로 이동
Ctrl+B, 1    # 1번 window로 이동
Ctrl+B, W    # 전체 window 목록 보기
Ctrl+B, ,    # 현재 window 이름 변경

실전 예시: 여러 프로세스 관리

llama.cpp, Claude Code 등을 각각 window로 분리해서 관리:

tmux new -s main         # main 세션 시작

# window 0: llama.cpp 서버
Ctrl+B, ,  → "llama" 로 이름 변경
llama-server 실행

# window 1: Claude Code
Ctrl+B, C  → 새 window
Ctrl+B, ,  → "claude" 로 이름 변경
claude 실행

# window 2: 일반 개발
Ctrl+B, C  → 새 window
Ctrl+B, ,  → "dev" 로 이름 변경

재접속 시:

ssh user@server
tmux attach -t main
Ctrl+B, W  # window 목록에서 원하는 곳으로 이동

관련 노트